#include<stdio.h>
#define t_size 100
int fi[t_size];
long fl[t_size];
long long fll[t_size];
unsigned long long full[t_size];

int fib_int(int index){
    int a=2,b=1,c=1;
    int i=3;
    if(index<=2){
        return 1;
    }
    while(i<index){
        c=b;
        b=a;
        a=b+c;
        i++;
    }
    return a;
}

long fib_l(int index){
    long a=2,b=1,c=1;
    int i=3;
    if(index<=2){
        return 1;
    }
    while(i<index){
        c=b;
        b=a;
        a=b+c;
        i++;
    }
    return a;
}

long long fib_ll(int index){
    long long a=2,b=1,c=1;
    int i=3;
    if(index<=2){
        return 1;
    }
    while(i<index){
        c=b;
        b=a;
        a=b+c;
        i++;
    }
    return a;
}

unsigned long long fib_ull(int index){
    unsigned long long a=2,b=1,c=1;
    int i=3;
    if(index<=2){
        return 1;
    }
    while(i<index){
        c=b;
        b=a;
        a=b+c;
        i++;
    }
    return a;
}

int main(){
    // for(int i=0;i<t_size;i++){
    //     fi[i]=0;
    //     fl[i]=0;
        
    // }
    // printf("%d",sizeof(long long));
    int i=1;
    for(;i<t_size;i++){
        fi[i] = fib_int(i);
        // fl[i] = fib_l(i);
        fll[i] = fib_ll(i);
        full[i] = fib_ull(i);
        if(/*fi[i]!=fll[i]||fi[i]!=full[i]||*/fll[i]!=full[i]){
            printf("i=%d %d %lld %llu\n",i,fi[i],fll[i],full[i]);
        }
    }



    return 0;
}